Node.js 可以借重 C / C++ 分散 Node.js 的負擔,也可以借 File 存 / 讀資料,這篇就主角就是 File System。
使用 File System 需載入 fs Module ( const fs = require('fs');
),以下就介紹幾個常用的 Function
| Function | 說明 | 同步 |
|---|---|
| fs.access(path[, mode], callback)
| 檢查對檔案的權限 ( Permissions ) ,官方不建議在 fs.open
、 fs.readFile
、 fs.writeFile
前使用,原因是會它們有可以改變檔案權限的能力;此外官方也建議使用這個和 fs.lstat
來檢查檔案是否存在,而過去常用的 fs.exists 已被棄用,只留下同步版的 fs.existsSync
| fs.accessSync(path[, mode])
|
| fs.open(path, flags[, mode], callback)
| 讀取檔案夾 | fs.openSync(path, flags[, mode])
|
| fs.readFile(file[, options], callback)
| 讀取檔案 | fs.readFileSync(file[, options])
|
| fs.mkdir(path[, mode], callback)
| 新增資料夾 | fs.mkdirSync(path[, mode])
|
| fs.rmdir(path, callback)
| 刪除資料夾 | fs.rmdirSync(path)
|
| fs.link(path, dstpath, callback)
| 新增檔案 | fs.linkSync(path, dstpath)
|
| fs.unlink(path, callback)
| 刪除檔案 | fs.unlinkSync(path)
|
以上是比較常用的,有寫檔案需求可以看 fs.write() 等 write 函式,我只用過一次;若需要對檔案進行多次的 讀取 (Read) 、 寫入 (Write) ,官方強烈建議要設定對應的 fs.createReadStream 、 fs.createWriteStream。
補充:可以配合之前提到的 __dirname
使用 ( [Day 10] API 尋寶記 - 不知不覺都會用到的 Global )。